#!/usr/bin/python2.4
#
# Copyright 2009 Google Inc.
#
# Licensed under the Apache License, Version 2.0 (the "License");
# you may not use this file except in compliance with the License.
# You may obtain a copy of the License at
#
#      http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS,
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
# See the License for the specific language governing permissions and
# limitations under the License.
"""Main function that handles passing requests to appropriate handlers."""

# AppEngine
from google.appengine.ext import webapp
from google.appengine.ext.webapp.util import run_wsgi_app

# Cruise Control
from admin import admin
from handlers import index
from handlers import pages
from handlers import posts
from handlers import templates
from handlers import search

HANDLERS = [('/', index.Index),
            ('/index/?', index.Index),
            ('/index\.html', index.Index),
            ('/admin/?', admin.Post),
            ('/admin/links/?', admin.Links),
            ('/admin/pages/?', admin.Pages),
            ('/admin/post/?', admin.Post),
            ('/admin/comments/?', admin.Comments),
            ('/admin/settings/?', admin.Settings),
            ('/admin/import/?', admin.ImportFeed),
            ('/\d{4}/?$', posts.Date),
            ('/\d{4}/\d{2}/?$', posts.Date),
            ('/\d{4}/\d{2}/\d{2}/?$', posts.Date),
            ('/\d{4}/\d{2}/\d{2}/.*', posts.Post),
            ('/templates/.*\.css$', templates.Css),
            ('/templates/.*\.(png|gif|jpe?g)$', templates.Img),
            ('/templates/.*\.js$', templates.Js),
            ('/search\?*', search.Search),
            ('/.*', pages.Page)]

def main():
  application = webapp.WSGIApplication(HANDLERS, debug=False)
  run_wsgi_app(application)

if __name__ == "__main__":
  main()
